﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

namespace SkinEngines.SkinForm.Painting
{
    /// <summary>
    /// the paintdata of form
    /// </summary>
    public class SkinningFormPaintData : PaintDataBase
    {
        /// <summary>
        /// Gets or sets the list of painting definitions for caption buttons.
        /// </summary>
        /// <value>The caption button paint definitions.</value>
        public CaptionButtonPaintData[] CaptionButtons { get; set; }

        /// <summary>
        /// Gets or sets the form border size.
        /// </summary>
        /// <value>The form border size.</value>
        public Size Borders { get; set; }

        /// <summary>
        /// Gets or sets the size of the icon.
        /// </summary>
        /// <value>The size of the icon.</value>
        public Size IconSize { get; set; }

        /// <summary>
        /// Gets or sets the height of the caption.
        /// </summary>
        /// <value>The height of the caption.</value>
        public int CaptionHeight { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether the form is active.
        /// </summary>
        /// <value><c>true</c> if active; otherwise, <c>false</c>.</value>
        public bool Active { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether the form has a system menu.
        /// </summary>
        /// <value><c>true</c> if this instance has menu; otherwise, <c>false</c>.</value>
        public bool HasMenu { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether the form as a small caption. (ToolWindows)
        /// </summary>
        /// <value>
        /// 	<c>true</c> if this instance is small caption; otherwise, <c>false</c>.
        /// </value>
        public bool IsSmallCaption { get; set; }

        /// <summary>
        /// Gets or sets the caption text.
        /// </summary>
        /// <value>The caption text.</value>
        public string Text { get; set; }


        /// <summary>
        /// Initializes a new instance of the <see cref="SkinningFormPaintData"/> class.
        /// </summary>
        /// <param name="g">The graphics.</param>
        /// <param name="bounds">The bounds.</param>
        public SkinningFormPaintData(Graphics g, Rectangle bounds)
            : base(g, bounds)
        {
        }
    }
}

